Location-based operations for information handling systems

ABSTRACT

A location-aware product includes a location information resource for providing the present location of the location-aware product to within some margin of error, and such present location information is included by the location-aware product in various outputs, including but not limited to, location stamps in files for create, open, and/or modify file operations. In a further aspect, location information may be used in determining the time zone or zones in which one or more operations have occurred, and to provide the basis for updating clocks, or other resources, useful for time stamping of various operations and outputs. In a still further aspect of the present invention, information displays may be sorted by accounting for the differences in times and dates introduced through time stamping of events in different time zones.

RELATED APPLICATIONS

This is a continuation-in-part of application Ser. No. 09/888,822, filedJun. 22, 2001 now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The methods and apparatus of the present invention relate generally tothe field of location-based services, and more particularly toapplications of location information for location-aware products.

2. Background

The deployment in modern times of communication satellites in earthorbit, such as those which form the well-known Global Positioning System(GPS), have enabled, first, military systems, and subsequently,commercial systems to use signals from orbiting satellites to determinetheir location on earth. In this way, the navigation of military andcommercial vehicles by automatic guidance systems has been facilitated.

In addition to guidance system applications, signals from the GlobalPositioning System have been used in conjunction with various hardwareand software products for providing terrestrial coordinates to userssuch as hikers or backpackers who want or need to know their locations.Similarly, fleets of trucks have been equipped with GPS systems so thattheir location can be monitored.

As the application and acceptance of GPS based location systems hasgrown the cost of such GPS hardware and software has begun to decline.With declining prices, it is anticipated that the deployment of suchlocation information resources in a wide variety of electronic productswill become feasible.

What is needed are practical uses for such location informationresources in consumer products, such as, but not limited to mobileconsumer electronics devices.

SUMMARY OF THE INVENTION

Briefly, a location-aware product includes a location informationresource for providing the present location of the location-awareproduct to within some margin of error, and such present locationinformation is included by the location-aware product in variousoutputs, including but not limited to, location stamps in files forcreate, open, and/or modify file operations. In a further aspect,location information may be used in determining the time zone or zonesin which one or more operations have occurred, and to provide the basisfor updating clocks, or other resources, useful for time stamping ofvarious operations and outputs. In a still further aspect of the presentinvention, information displays may be sorted by accounting for thedifferences in times and dates introduced through time stamping ofevents in different time zones.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representation of a computer equipped with anexemplary module that provides location information to the computer inaccordance with the present invention.

FIG. 2 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into a file inconnection with a file open operation.

FIG. 3 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into a file inconnection with a both a file open and a file modify operation.

FIG. 4 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into a file inconnection with a file modify operation.

FIG. 5 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information in a cookiefile.

FIG. 6 is a flowchart of an illustrative process in accordance with thepresent invention that reads location information from a cookie file.

FIG. 7 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information in a signatureblock of an email message.

FIG. 8 is a flowchart of an illustrative process in accordance with thepresent invention that includes converting latitude and longitudeinformation into geographical name information and inserting thatgeographical name information into a signature block of an emailmessage.

FIG. 9 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into a file inconnection with a special code associated with the file.

FIG. 10 is a flowchart of an illustrative process in accordance with thepresent invention that provides time and time zone information to aprogrammable clock.

FIG. 11 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates time and time zone information intoa file in connection with a file modify operation.

FIG. 12 is a flowchart of an illustrative process to display directorycontents with time and time zone information.

FIG. 13 is a flowchart of an illustrative process to display directorycontents with time and time zone information sortable by at least timezone information.

FIG. 14 provides an example display of default sort order.

FIG. 15 provides an example display of directory listing sorted by timezone information.

FIG. 16 is a flowchart of an illustrative process in accordance with thepresent invention that allows for a directory listing to be sorted byuser defined specified regions.

FIG. 17 provides an example display of directory listing with specifiedregions information added.

FIG. 18 provides an example display of directory listing sorted by userdefined specified regions.

DETAILED DESCRIPTION

Generally, various embodiments of the present invention may obtainlocation information from a location information resource, such as butnot limited to, a GPS receiver and processing circuitry, incorporatethat location information into one or more files, such as, but notlimited, to text files, email files, word processing files, and so on;or 2) subsequently provide such stored location information to adisplay, such as, but not limited to, a directory listing of files thatincludes the location of creation or modification of the file, inaddition to, or in place of, other file parameters such as, for example,file size, file type, or time of creation or modification of the file.

Reference herein to “one embodiment”, “an embodiment”, or similarformulations, means that a particular feature, structure, orcharacteristic described in connection with the embodiment, is includedin at least one embodiment of the present invention. Thus, theappearances of such phrases or formulations herein are not necessarilyall referring to the same embodiment. Furthermore, various particularfeatures, structures, or characteristics may be combined in any suitablemanner in one or more embodiments.

FIG. 1 is a block diagram representation of a computer equipped with anexemplary module that provides location information to the computer inaccordance with the present invention. More particularly, a centralprocessing unit (CPU) 102 is shown coupled to a bus 104. Similarly, amemory 106, peripherals 108, 110, and a location-aware module 112 areincluded in the computer and are also coupled to bus 104. It should benoted that various other computer or digital system architectures may beused in accordance with the present invention. For example, somecomputer systems use a different bus to couple system memory to the CPU,than is used to couple peripheral devices to the CPU, and such systemsmay be used in embodiments of the present invention. In the illustratedembodiment, location-aware module 112 includes a GPS receiver andprocessing circuitry to convert the received GPS signals into locationcoordinates, such as, but not limited to, latitude and longitude. Anantenna suitable for receiving GPS signals is typically included withinlocation-aware module 112, but such antenna may be spaced apart fromlocation-aware module 112. If the antenna is spaced apart fromlocation-aware module 112, then the antenna is appropriately coupled tomodule 112. Although FIG. 1 represents a computer equipped with alocation resource, it will be understood, that this functionality may beincluded in a wide variety of electronic products, including consumerproducts, that include some computational capability, such as, but notlimited to, cellular phones, personal digital assistants (PDA),electronic games, and so on. It will be further understood, that theutility of the present invention is greatest in mobile devices (e.g.,laptop computer cellular phones, personal digital assistants (PDA), andelectronic games) but the invention is not limited to devices that aretypically mobile.

FIG. 2 is a flowchart of an illustrative process in accordance with thepresent invention that includes (i.e., inserts or incorporates) locationinformation into a file in connection with a file open operation. Moreparticularly, in this embodiment, a file is opened 202. File openoperations are common in computer systems and are well understood. Sucha file open operation is commonly initiated by a computer user by, forexample, double-clicking on an iconic representation of the file in agraphical user interface. It is known that there are other means ofopening files, including the opening of files by an operating systemwithout the need for specific user action. Files opened in this wayinclude, but are not limited to, text files, word processing files,spreadsheet files, database files, sound files, graphics files, videofiles, and so on. Subsequent to, or concurrent with, the opening of thefile, location information is read 204 from a location informationresource, such as the location-aware module 112 of FIG. 1. It is withinthe scope of the present invention to read the location informationprior to the file opening, however, this may result in locationinformation that is not contemporary with the actual location of thecomputer at the time that the file is open. Subsequent to reading thelocation information, at least a portion of the location information iswritten into the file 206. All the information obtained from thelocation resource may be written to the file, but depending on theparticular implementation, the location resource may provide otherinformation that does not need to be included in the file, such asinformation on altitude, time of day, speed, and so on. It is adesigner's choice as to how much location and location-related dataobtained from the location resource to include in the file. In apresently preferred embodiment, latitude and longitude information arestored in the file. In this way, a translation from latitude/longitudeinformation, to geographical place name can be performed when the fileis read. In this way, another aspect of the present invention issupported. That is, providing the geographical place name in thelanguage of the present location. In other words, if a file on a laptopcomputer is opened in the United States, and the latitude/longitudeinformation are included in the file, then on subsequent accesses of thefile, it may be determined where that file open operation took place,and that location displayed in English if the laptop is still in theUnited States, but however, it may be displayed in French if the currentlocation of the laptop is somewhere in France. Of course, otherimplementations of the present invention may elect to perform alatitude/longitude to geographical place name translation at the time oforiginally reading the latitude/longitude information, and incorporatingthe text of the geographical place name into the file. The locationinformation is read from the location information resource is indicativeof the physical location of the computer. The location information maybe in any suitable format, and such formats include, but are not limitedto, latitude/longitude, and geographical location name. It will beunderstood that although a computer is used in this example, other thepresent invention applies to other electronic devices, such as forexample mobile consumer electronic devices, as well.

It should be noted that reading location information from location-awaremodule 112 is similar to reading information from any commonly availabletype of computer peripheral device. For example, one or more fixedaddresses in a memory, or I/O space, of a computer may be read and theresulting data represents the location information. In an alternativeembodiment, a command is written to location-aware module 112 and as aconsequence, location information is transferred by location-awaremodule 112 to some pre-determined address. Those skilled in the art willappreciate that communication between a CPU and peripheral device in acomputer system is a well-understood matter.

FIG. 3 is a flowchart of an illustrative process in accordance with thepresent invention that includes (i.e., inserts or incorporates) locationinformation into a file in connection with a both a file open (as shownin FIG. 2) and a file modify operation. More particularly, in thisembodiment, a file is opened 302. Subsequent to, or concurrent with, theopening of the file, location information is read 304 from a locationinformation resource, such as location-aware module 112 of FIG. 1.Subsequent to reading the location information, at least a portion ofthe location information is written 306 into the file. The locationinformation read from the location information resource is indicative ofthe physical location of the computer. The location information may bein any suitable format, and such formats include, but are not limitedto, latitude/longitude, and geographical location name. In thisembodiment of the present invention, the file that was opened at 302 isnow modified 308. Subsequent to, or concurrent with, the modification ofthe file, location information is read 310 from the location informationresource. Subsequent to reading the location information, at least aportion of the location information is written 312 into the file. Inthis example, the incorporated location information is appropriatelylabelled as being associated with the file open operation or with thefile modify operation. The computer system may include a history oflocation information associated with each open or modify operation, oronly the most recent open or modify operation, or a combination. Theseimplementation specific options can be chosen by the system designer, orcan be made a user definable option in the computer system, similar tothe user selecting a preferred screensaver, or desktop color.

FIG. 4 is a flowchart of an illustrative process in accordance with thepresent invention that includes (i.e., inserts or incorporates) locationinformation into a file in connection with a file modify operation. Moreparticularly, in this embodiment, a file is opened 402. Subsequent tothe opening of the file, the file is modified 404. Location informationis read 406 from a location information resource, such as location-awaremodule 112 of FIG. 1. Subsequent to reading the location information, atleast a portion of the location information is written 408 into thefile. The location information read from the location informationresource is indicative of the physical location of the computer. Thelocation information may be in any suitable format, and such formatsinclude, but are not limited to, latitude/longitude, and geographicallocation name. This example is similar to that described in connectionwith FIG. 3, but does not include incorporating location information inconnection with file open operations.

FIGS. 2 through 4 provide illustrative embodiments of the presentinvention. In a further aspect of the present invention, variousembodiments including reading back the location information that waswritten into the files and displaying or otherwise utilizing thatinformation. Location information that was stored, either in an openedor modified file, or some other file (e.g., a system file maintained bythe computer's operating system) that is associated with the opened ormodified file, can be read back and displayed alone or with other fileattributes such as, for example, the date and time of the file open ormodify operation. When a directory listing is obtained that includeslocation information, the directory listing may be sorted according tolocation, whether by latitude, longitude, alphabetically in accordancewith geographical place name, or by regions (e.g., North America,Western Europe, Asia, and so on).

The operations writing and reading back location information from files,as described above, are typically implemented in software. Such softwaremay be included in a computer's operating system, or may be installed ona computer as an application program.

FIG. 5 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information in a cookiefile. Cookies or cookie files are terms that describe files stored on aclient computer because of an interaction between, for example, a webbrowser software program running on the client computer, and a softwareprogram than runs on a web server computer. Typically such aninteraction occurs when a computer user visits, or accesses a web site.Cookies are generally relatively small files that allow the softwarerunning on the web server to determine whether and when the clientcomputer has accessed the web site. In one embodiment of the presentinvention, a cookie file is created on a client computer 502. Locationinformation is obtained 504 from a location information resource present(such as, for example, location information resource 112 of FIG. 1) inthe client computer. This location information is indicative of thelocation of the client computer at the time of the interaction with theweb site. The location information may be in any suitable format, andsuch formats include, but are not limited to, latitude/longitude, andgeographical location name. The location information is then written 506into the cookie file. Such information in the cookie file can be usefulto a web site operator in determining geographical usage patterns of theweb site, i.e., from where the site is being accessed. Furthermore, thelocation information may be updated upon subsequent accesses of thecookie file. Similarly, a history, or log, of location information maybe formed in the cookie file by additional accesses of the cookie fileduring, or as a consequence of, one or more interactions with the website.

FIG. 6 is a flowchart of an illustrative process in accordance with thepresent invention that reads location information from a cookie file.More particularly, a cookie file that includes location informationrelative to where the client computer was located at the time the cookiefile was created, last opened, or last modified, is opened 602. Thecookie file may be opened in connection with a visit to a web site, orsuch similar interaction with a web server, or other computer system orprocess. Subsequently, at least one item of location information is read604 from the cookie file. The location information may constitute arecord in the file, although no particular file format is required bythe present invention. The location information read from the cookiefile may be transmitted back to the web server, mentioned above, so thatgeographical usage patterns may be determined. Methods and apparatus forcommunication between a web browser (client) and a web site (server) arewell known and are not described further herein.

FIG. 7 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into asignature block of an email message. Some of the well-known and widelyavailable email programs provide users with a feature that automaticallyappends a signature block to their email. These signature blocks aretypically defined by the email users and often include information suchas, but not limited to, the name of the user, the user's phone numberand address, business title, mail-stop, and so on. In this example, acomputer system, or other information handling device, having a locationinformation resource (such as location information resource 112 of FIG.1), and capable of preparing and sending email, receives a command tosend an email 702. A decision is then made 704 as to whether such anautomatic signature feature is active for this message. If the automaticsignature feature is not active, then the email is sent 710. If theautomatic signature feature is active, then the current location of thecomputer, or other information handling device is obtained from thelocation information resource 706. That location information is appendedto, or inserted into, the email message, for example into the signatureblock 708. The email is then sent 710. It is to be understood, that inthis context sending an email may mean actually transmitting the emailto another computer or information handling device, directly or throughsome communication network, or simply spooling the email for subsequenttransmission.

FIG. 8 is a flowchart of an illustrative process in accordance with thepresent invention that includes converting latitude and longitudeinformation into geographical name information and inserting thatgeographical name information into a signature block of an emailmessage. This example is similar to the general example of FIG. 7, butillustrates a more specific example. More particularly, a computersystem or other information handling device, having a locationinformation resource (such as location information resource 112 of FIG.1), and capable of preparing and sending email, receives a command tosend an email 802. A decision is then made 804 as to whether a signatureblock feature is active for this message. If the signature block featureis not active, then the email is sent 812. If the signature blockfeature is active, then the current location of the computer or otherinformation handling device, in the format of latitude and longitude, isobtained from the location information resource 806. The latitude andlongitude information are then converted to a geographical place name ofthe location that corresponds to the latitude and longitude 808. Thegeographical place name information is then inserted into the signatureblock 810. The email with the included geographical name information isthen sent 812. It is to be understood, that in this context sending anemail may mean actually transmitting the email to another computer, orinformation handling device, directly or through some communicationnetwork, or simply spooling the email for subsequent transmission.

FIG. 9 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates location information into a file inconnection with a special code previously inserted into the file orassociated with the file. The special code or character or field may bein the file itself or in associated data structures. Moreover, thespecial code may be inserted into the file or associated with the fileby the user or by default. The special code may indicate a permanentsubstitution of the code with location information or temporaryreplacement of the code with location information. Herein, the phrase“associated with” is used to describe data structures or another fileassociated with the file of interest.

Some conventional word processing, spreadsheet, and presentationgraphics programs provide users with a feature that automaticallyreplaces a special code inserted in a file with current date or timeinformation. That is, a user inserts a special code in a file, and, whenthe file is, for example, opened or displayed or modified or printed,the special code is replaced with the current date and time. Someprograms provide the user with various options with respect to how thespecial code is interpreted such as, but not limited to, languageformat, display of date only, display of time only, formats for date andtime information, and so on. Some programs also provide the user withoptions to control whether the special code is temporarily replaced withdate and time information each time the file is, for example, opened orwhether the special code is permanently replaced the first time the fileis, for example, opened. In this example, a computer system, or otherinformation handling device, having a location information resource(such as location information resource 112 of FIG. 1), and capable ofrunning a word processing, spreadsheet, presentation graphics, or someother type of file editing program, receives a command to operate on afile 902. A decision is then made 904 as to whether the requisitespecial code is present, e.g., inserted into the body of the file. Ifthe special code is not present or associated with the file, theoperation specified by the command then continues 914. If the specialcode is included in the file, then the current location of the computer,or other information handling device, is obtained from the locationinformation resource 906. At 908, a determination is made whether thespecial code is to be replaced with the location information permanentlyor temporarily. If the user selection is for permanent replacement ofthe special code with the location information, then such locationinformation is substituted 910 for the special code and no subsequentreplacements will be made until another special code is inserted in, orassociated with, the file. If the user selection is for temporaryreplacement, then such location information temporarily replaces thespecial code 912. For example, if a file is opened for viewing andincludes a special code in the body of the file indicating a selectionfor temporary replacement of the special code with location information,then the location information is displayed in lieu of the special codewhile the file is opened for E viewing. If the file is again opened forviewing, but this time the user is in a new geographic location, asmight be the case for a salesperson using a presentation graphics file,the location information is displayed with the current locationinformation reflecting the new geographic location.

In another embodiment, incorporation of location information into afile, also referred to as location stamping the file, is used toidentify the point of origin of an annotation to a file. For example, invirtual organizations where people in various geographically dispersedlocations work collaboratively via electronic means, several users mightbe updating the same electronic file, each with annotations. Someembodiments of the present invention provides location information sothat the points of origin for such annotations can be readilyidentified.

FIG. 10 is a flowchart of an illustrative process in accordance with thepresent invention that provides time and time zone information to aprogrammable clock, where the time and time zone information isrepresentative of the geographic location of the computer system orinformation handling device that includes the location informationresource. That is, FIG. 10 is a flowchart showing a process for updatinga programmable clock with time and time zone information. Theprogrammable clock may be updated automatically as the computer systemor information handling device is moved from one geographic location toanother. This automatic updating function can be selected by the user.Or, as an alternative or in addition to automatic updating, the user caninitiate the updating of the programmable clock to include current timeand time zone information. Another option allows the user to view timeand time zone information that varies with the location of the computersystem or information handling device and, at the same time, also viewtime information corresponding with a fixed reference time zone.

For example, the user might choose to view both current location-basedtime and time zone information, as the user might be traveling fromlocation to location, while maintaining a reference point to a “home”time and time zone, such as the time in the Pacific Daylight time zone.The fixed reference time zone is typically expressed as an offset fromuniversal time (UTC) or Greenwich Mean Time (GMT) or Z-time, each ofwhich correspond with the time at zero degrees longitude, i.e. at theprime meridian. For example, Thursday 11:00 PM Pacific Daylight Time(PDT) corresponds with Friday 6:00 AM universal time, an offset of sevenhours. If the user is currently in Austin, Tex., where the local time inAustin corresponding with Thursday 11:00 PM Pacific Daylight Time isFriday 1:00 AM Central Daylight Time (CDT), both the fixed referencetime, Thursday 11:00 PM PDT, and the current local time, Friday 1:00 AMCDT, are displayed. Here, the “11:00” and “1:00” displays are examplesof numeric time information using Arabic numerals, and the “PDT” and“CDT” displays are examples of abbreviated time zone information in theEnglish language. It is to be appreciated that alternative languages andnumbering systems can be used in accordance with the present invention.Likewise, alternative formats for the display of time information canalso be used in accordance with the present invention. Herein, timeinformation includes both time and time zone information and may alsoinclude date information. In the above example, the change in timeinformation corresponding with the change in time zone from PDT to CDTincludes a change in the date also. That is, Thursday 11:00 PM PDTcorresponds with Friday 1:00 AM CDT. If, for example, time informationis updated to from PDT to CDT to reflect updated location information,the updated time information includes the change in date from Thursdayto Friday, in addition to the changes in numeric time, AM/PM indicator,and time zone abbreviation.

Many computer systems and other information handling devices provide aprogrammable clock feature. For example, a programmable clock isincluded with most computer systems, and the programmable clocktypically accepts actions by the user to update or adjust the clockattributes. Such attributes include, but are not limited to, timesetting in hours, minutes, seconds, and an “AM” or “PM” indicator; timedisplay format; fixed reference time zone, typically expressed as anoffset from universal time (UTC); date setting with month, day, andyear; date display format; language setting; and an option for automatictime adjustment for daylight savings time.

In this example, a computer system, or other information handlingdevice, having a location information resource (such as locationinformation resource 112 of FIG. 1), determines a first time zone 1004.The first time zone is either a previously stored time zone, previouslystored or updated into the programmable clock, or a predetermineddefault time zone. The predetermined time zone can be any time zone and,in one embodiment, is selected by the user. Next, the computer system orother information handling device reads present location 1006 using thelocation information resource. Using the latitude and longitudeinformation obtained from the location information resource, adetermination is made whether the present location is within the firsttime zone 1008. The coordinates of the present location are comparedwith the corrdinates that define the well-known time zone boundaries.These time zone boundary coordinate sets can be stored in a file orother memory within the exemplary computer system. In one embodiment, adata table within the computer system or information handling devicethat cross-references latitude and longitude information with time zoneinformation is used. If the present location is within the first timezone, then no action is required other than to continue the process oftaking another location reading 1006 and determining whether thelocation coordinates are within the first time zone 1008. If the presentlocation is not within the first time zone, then a determination is madewhether a distance between the present location and the boundary withthe first time zone is greater than a predetermined amount 1010. If thedistance is less than the pre-determined amount, then the process oftaking another location reading 1006 and again determining whether thelocation coordinates are within the first time zone 1008 is repeated. Ifthe distance is greater than the pre-determined amount, then theprogrammable clock is updated 1012 to reflect the current time in thenew present time zone.

The pre-determined amount is dependent upon the margin of error of thelocation information resource plus a distance needed for hysteresis.Location information resources such as GPS modules have various marginsof error, depending upon the manufacture of the module andsituation-specific operating characteristics. For example, a GPS modulewithout the capability to receive a reference or correction signaltypically has an accuracy or margin of error of about 100 yards whereasa GPS module with such capability, also known as a Differential GPS,typically has a margin of error of about two to three yards. That is, aDifferential GPS is typically capable of providing location informationwith accuracy to within a couple yards of the actual geographiclocation.

The distance needed for hysteresis may be arbitrarily chosen and static.Alternatively, the distance needed for hysteresis, in one embodiment, isdynamically calculated such that changes in time zones do not occurwithin a certain minimum time. Such a calculated distance is needed toprevent the time zone information from oscillating between two valueswhen the location information resource is near a time zone boundary.Hysteresis is helpful to avoid this oscillation. For example, in oneembodiment, a default minimum time or hold time between time zonechanges is set to five minutes. That is, if time zone informationchanges, it will not be changed again within the next five minutes. Thecalculated distance is dependent upon the rate of location change. Ifthe location is changing at a rate of 60 miles per hour or one mile perminute, the distance needed for hysteresis would be five miles. If thelocation is changing at a rate of six miles per hour, the distancefactor would be one-half of one mile.

In one embodiment, the pre-determined amount used in decision 1010 isinitially set at a default value, for example, the distancecorresponding with a five minute minimum time or hold time between timezone changes plus a distance greater than the margin of error specificto the particular location information resource. In one embodiment, thepre-determined amount is selectable by a user. That is, a user is ableto select the pre-determined amount to achieve some desired effect. Forexample, if the user will be frequently crossing back and forth betweentwo time zones over a short period of time, but wishes to maintain thetime zone information that represents one of the two time zones, theuser is able to increase the pre-determined amount to a distance greatenough to avoid having the time zone information oscillate back andforth between the two time zones.

FIG. 11 is a flowchart of an illustrative process in accordance with thepresent invention that incorporates time and time zone information intoa file in connection with a file modify operation. More particularly, inthis embodiment, a command to modify a file is received 1102. However, awide variety of other commands can be substituted for the “modify”command as shown in FIG. 11. In another embodiment, for example, acommand to open a file is received. In yet another embodiment, a commandto print a file is received. Location information is read 1104 from alocation information resource, such as location information resource 112of FIG. 1, and latitude and longitude information from the locationinformation resource is used to determine the corresponding time andtime zone 1106. Here, the latitude and longitude coordinates from thelocation information resource are used to determine the correspondingtime zone, and the time zone dictates any adjustments to the timeinformation. For example, if the time zone is changed from Mountain toPacific time, the one hour decrement is reflected in the timeinformation. Once the time and time zone information is determined 1106,it is then written into the file 1108. In one embodiment, the timeinformation is written into the file itself, as part of the historicalinformation associated with the file. In another embodiment, this filehistory information is maintained by the computer's operating system.The time and time zone information, therefore, becomes part of the filehistory accessible to other software applications, operating systemfunctions, and so on. For example, once time and time zone informationis associated with files in accordance with the process illustrated inFIG. 11, a directory listing utility or software application is able toproduce a listing of files including the time and time zone informationassociated with each file.

In one embodiment, the time and time zone information representative ofthe current or local geographic position, as read by the locationinformation resource 1104, is associated with the file. That is, thetime and time zone information associated with the file corresponds withcurrent location information. In another embodiment, a user selects anoption such that a fixed or “home” reference time zone and correspondingtime are associated with the file. The fixed reference time zone isuniversal time (UTC) or a time zone that is an offset from UTC. Examplesinclude Pacific Daylight Time (PDT), Mountain Standard Time (MST), andso on. In yet another embodiment, a user selects an option for time andtime zone information reflective of both current location information aswell as the fixed reference time zone to be associated with the file. Inother words, a user selects whether one or both versions of time andtime zone information are to be associated with the file. Alternatively,a user selects an option that uses the time and time zone informationavailable from the computer's system clock or other programmable clockas the information to be associated with the file.

FIG. 12 is a flowchart of an illustrative process in accordance with thepresent invention that provides a directory listing with time and timezone information. Once time and time zone information is associated withfiles in accordance with the process illustrated in FIG. 11, a directorylisting utility is able to provide a listing of files that includes timeand time zone information. As illustrated in FIG. 12, a directorylisting command is received 1202, and the subsequent display ofdirectory contents 1204 will include time and time zone information.

FIG. 13 is a flowchart of an illustrative process in accordance with thepresent invention that provides a directory listing that may be sortedaccording to, at least, time and time zone information. A directorylisting command is received 1302, and the resulting default directorylisting with time and time zone information is displayed 1304.Subsequent to the default display, a user is able to select sortingoptions 1306 by which the directory listing contents are sorted 1308.Some computer operating systems are equipped with a directory listingutility that allows a user to use simple point and click actions using amouse or other cursor controlling device to designate a particularsorting option. For example, a user is able to point and click on aportion of the computer screen that includes file size information,thereby causing the display of file contents to be sorted by file size.The present invention provides for the association of time and time zoneinformation with files so that a user is able to choose time and timezone information when selecting sort options 1306. The directory listingcontents are sorted 1308 and then displayed with time and time zoneinformation 1310.

FIG. 14 is an illustrative example of a default directory listing thatincludes time zone and other location information. The files shown aresorted by file name, alphabetically. Line numbers 1-6 are shown forreference only and become more useful when comparing the default listingin FIG. 14 with other examples discussed hereafter. Time zoneinformation is included in the directory listing, in addition tolatitude and longitude location information. The date, time, time zone,latitude, and longitude information correspond with the same operationon the named file. For example, the second file is named “B file” 1402and was last modified Feb. 15, 2001, at 8:45 AM Pacific Standard Time,at latitude N 45:59.009′ and longitude W 122:25.064′. In anotherembodiment, similar date, time, time zone, and location information isdisplayed in a directory listing and corresponds with a create fileoperation. In yet another embodiment, time, date, and locationinformation is displayed in a directory listing and corresponds with anopen file operation.

FIG. 15 is an illustrative example of a directory listing sorted in anorder from most recently modified to least recently modified. That is,the first file shown in FIG. 15 is “C file” 1502 and was last modifiedAug. 1, 2001, at 10:00 AM Eastern Daylight Time, at latitude N45:46.736′ and longitude W 84:43.856′. This is more recent than any ofthe other files shown. Also, because of the time zone informationprovided by the present invention, files that would otherwise have beenordered differently if sorted by date alone are correctly ordered. Forexample, line 3 1504 in FIG. 15 shows “D file” as having been morerecently modified than line 4 1506, “E file”, even though Jun. 28, 2001,is before Jun. 29, 2001. The date information cannot be used without thetime zone information to correctly order the files in an order from mostrecently modified to least recently modified. As with FIG. 14, theinformation shown in FIG. 15 may represent other file operations such asfile last opened, file created, and so forth. Also similar with FIG. 14,the format and organization of the information shown in FIG. 15 may bevaried and still be within the spirit of the present invention. Forinstance, the file size information shown in FIG. 15 may be excludedfrom the directory listing contents or other file attributes may beadded, but the inclusion of location information remains within thespirit of the present invention.

Another example where the benefits of the present invention areparticularly useful, is in the situation where two or more people invarious geographically dispersed locations work collaboratively viaelectronic means and are working on the same or similar electronicfiles. If, for example, lines 3 1504 and 4 1506 in FIG. 15 correspondwith the same file, the present invention provides a directory listingthat readily reveals that the file in line 3 1504 is the more recentversion. That is, “D file” 1504 was last modified Jun. 28, 2001, at11:00 PM PDT, which is more recent than “E file” 1506, which was lastmodified Jun. 29, 2001, at 12:30 AM CDT. Without the present invention,determination of the most recently modified file is confusing and proneto error.

FIG. 16 is a flowchart of an illustrative process in accordance with thepresent invention that allows for a directory listing to be sorted byuser defined specified regions. A software application is easilywritten, by one skilled in the art, to include a simple graphical userinterface whereby a user can select an area using a mouse or othercursor controlling device. In one embodiment, such an application isincorporated into a directory listing. That is, the directory listingapplication includes an option to create specified regions that becomefile history attributes upon which the directory listing contents can besorted.

In this example, a directory listing command is received 1602, causing adefault directory listing to be displayed 1604. A user then selects anoption to create a specified region 1606. For example, a user may pointand click on a portion of the window comprising the directory listingdisplay that causes an option menu to open. Upon selecting the option tocreate specified regions, the user is asked to enter a name for thefirst specified region 1608. Once a name is entered, the user ispresented with a map wherein the user is able to shade or highlightgeographic regions that the user wishes to associate with the enteredname. The user effectively selects the boundaries for the specifiedregion 1610, the specified region comprising a set of areas defined interms of latitude and longitude coordinates. If the user wishes tocreate another specified region 1612, the user is asked to enter anotherspecified region name 1608. If the user is finished creating specifiedregions, then the directory listing attributes are updated 1614 toinclude the specified regions for both display purposes as an additionalsorting option. That is, the directory listing can be sorted byspecified region.

In one embodiment, the directory listing further includes an algorithmthat links named specified regions with files having the appropriatelatitude and longitude information. That is, a file having latitude andlongitude coordinates that fall within the geographic areas assigned toa particular named specified region is associated with that specifiedregion for purposes of directory listing display and sorting.Implementation of an algorithm that effectively cross-references sets oflatitude and longitude coordinates and establishes links or associationsbetween files and specified regions is easily accomplished by oneskilled in the art. Example directory listing displays incorporatingspecified regions are provide in FIGS. 17 and 18.

FIG. 17 provides an example display of a directory listing withspecified regions information added. The example data used is the samefor FIGS. 14, 15, and 17, except for the additional specified regionsinformation 1702. In this example, two sales areas are defined, SalesArea 1 1704 and Sales Area 2 1706.

FIG. 18 provides an example display of directory listing sorted by userdefined specified regions. In this example, the files associated withSales Area 1 1802 are grouped together and further sorted by file name,alphabetically. Similarly, the files associated with Sales Area 2 1804are grouped together and further sorted by file name, alphabetically.

The present invention may be implemented as circuit-based processes,including possible implementation on a single integrated circuit. Aswould be apparent to one skilled in the art, various functions ofcircuit elements may also be implemented as processing operations in asoftware program. Such software may be employed in, for example, adigital signal processor, micro-controller, or general-purpose computer.

The present invention can be embodied in the form of methods andapparatuses for practicing those methods. The present invention can alsobe embodied in the form of program code embodied in tangible media, suchas punched cards, magnetic tape, floppy disks, hard disk drives,CD-ROMs, flash memory cards, or any other machine-readable storagemedium, wherein, when the program code is loaded into and executed by amachine, such as a computer, the machine becomes an apparatus forpracticing the invention. The present invention can also be embodied inthe form of program code, for example, whether stored in a storagemedium, loaded into and/or executed by a machine, or transmitted oversome transmission medium or carrier, such as over electrical wiring orcabling, through fiber optics, or via electromagnetic radiation,wherein, when the program code is loaded into and executed by a machine,such as a computer, the machine becomes an apparatus for practicing theinvention. When implemented on a general-purpose processor, the programcode segments combine with the processor to provide a unique device thatoperates analogously to specific logic circuits.

It is to be understood that the present invention is not limited to theembodiments described above, but encompasses any and all embodimentswithin the scope of the following claims.

1. A method of incorporating time and time zone information for adirectory listing of computer files, comprising: receiving a directorylisting command for listing computer files within the directory; anddisplaying a directory listing of computer files, wherein the directorylisting of computer files includes time and time zone informationassociated with each of the computer files; selecting a sorting order;sorting the directory listing of computer files in accordance with thesorting order; wherein the directory listing is sorted by specifiedregions, wherein the specified regions comprise geographic areas definedby longitude and latitude information; and displaying the directorylisting of computer files in accordance with the sorting order.
 2. Amethod of incorporating time and time zone information for a directorylisting of computer files, comprising: receiving a directory listingcommand for listing computer files within the directory; and displayinga directory listing of computer files, wherein the directory listing ofcomputer files includes time and time zone information associated witheach of the computer files; selecting a sorting order; sorting thedirectory listing of computer files in accordance with the sortingorder, wherein the directory listing is sorted by specified regions,wherein the specified regions comprise geographic areas defined bylongitude and latitude information; and displaying the directory listingof computer files in, accordance with the sorting order.
 3. The methodof claim 2, wherein the directory listing is sorted by time zoneinformation.
 4. A method of incorporating time and time zone informationfor a directory listing of computer files, comprising: receiving adirectory listing command for listing computer files within thedirectory; and displaying a directory listing of computer files, whereinthe directory listing of computer files includes time and time zoneinformation associated with each of the computer files; selecting asorting order; sorting the directory listing of computer files inaccordance with the sorting orders, wherein the directory listing issorted by specified regions, wherein the specified regions comprisegeographic areas defined by longitude and latitude information; anddisplaying the directory listing of computer files in, accordance withthe sorting order.
 5. The method of claim 4, further comprisingdetermining the time zone information based, at least in part, onlocation information.